<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>DSF2FLAC: dsdDecimator Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">DSF2FLAC
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">dsdDecimator Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="dsdDecimator" -->
<p><code>#include &lt;<a class="el" href="dsd__decimator_8h_source.html">dsd_decimator.h</a>&gt;</code></p>

<p><a href="classdsdDecimator-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#af6fb1f6ade14b44c019ba0effad7f3a6">dsdDecimator</a> (<a class="el" href="classdsdSampleReader.html">dsdSampleReader</a> *<a class="el" href="classdsdDecimator.html#ac9f25e6d1eb10de15a685b528f72f21e">reader</a>, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a9f67b2c5d1cf1e24acd36416a34c80cb">outputSampleRate</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a4158638298e56d05c679ef649a0c25b8">~dsdDecimator</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename sampleType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">getSamples</a> (sampleType *buffer, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> bufferLen, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> scale, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> tpdfDitherPeakAmplitude=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a07af1cb5e7dffc01d626a3fc318eaf54">getOutputSampleRate</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#afb5a83fbea5217eba40a40381a60bf9d">dsf2flac_int64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a5ef94ab8d0b208493fb70152b4f29a5e">getLength</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#adc42aa7434a69d7b11e1693b1264e50c">getPosition</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a369be2420e994f1ec604c4050da2e348">getFirstValidSample</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#afa3dafaaafc68f4fe4447e2ca78468da">getLastValidSample</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a5d27b475960345a48ced37014506beac">getPositionInSeconds</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#adeaac3c942eee2a689f3666575604724">getPositionAsPercent</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a626cdd9643cb8c4da1a0ce033bfb52b5">getNumChannels</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#ab54b0b5f709c42d2295209f0d76ca617">isValid</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a52cb037a250fe8a2604b0c5963c2a865">getErrorMsg</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#aca77161cb5bdde11130fceb81ee8f8ad">step</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a5f597a849651fe55efdbb09615565c26">getDecimationRatio</a> ()</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a3c7b58e6074721099982a70dadee1199">getSamples</a> (short int *buffer, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> bufferLen, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> scale, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> tpdfDitherPeakAmplitude)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a2f1fd9fef99fd6600a6acf8d2c27b821">getSamples</a> (int *buffer, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> bufferLen, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> scale, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> tpdfDitherPeakAmplitude)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a1f4887565afbd00951b086463b4b25cb">getSamples</a> (long int *buffer, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> bufferLen, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> scale, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> tpdfDitherPeakAmplitude)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a0f07c2186958dd9e7cc22e15c4585cef">getSamples</a> (float *buffer, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> bufferLen, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> scale, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> tpdfDitherPeakAmplitude)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a3886405e731cae513db2f5b7be7f7694">getSamples</a> (double *buffer, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> bufferLen, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> scale, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> tpdfDitherPeakAmplitude)</td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a83a14ccc6618a2ae2efa828047a0419e">initLookupTable</a> (const <a class="el" href="dsf2flac__types_8h.html#af9870cc254fb4d78d48e1b851b6eceee">dsf2flac_int32</a> nCoefs, const <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> *coefs, const <a class="el" href="dsf2flac__types_8h.html#af9870cc254fb4d78d48e1b851b6eceee">dsf2flac_int32</a> <a class="el" href="classdsdDecimator.html#a2f354e47adabe7220fc894a1a9f20cd5">tzero</a>)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename sampleType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#aadf532a69765ee44c0f236684b8ea2b4">getSamplesInternal</a> (sampleType *buffer, <a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> bufferLen, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> scale, <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> tpdfDitherPeakAmplitude, bool roundToInt)</td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdsdSampleReader.html">dsdSampleReader</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#ac9f25e6d1eb10de15a685b528f72f21e">reader</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a9f67b2c5d1cf1e24acd36416a34c80cb">outputSampleRate</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a9fc53268494d3c88da851db157538cdf">nLookupTable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a2f354e47adabe7220fc894a1a9f20cd5">tzero</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsd__decimator_8h.html#ad5403a5111c18f5f42fadde6157a5728">calc_type</a> **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#af692ef8eb621e9b83fb3243f580e0d0c">lookupTable</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#aed5e3ed7aeca8f5c4d74b8c5559d342e">ratio</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a944a13197a30cec5ec50538642810f94">nStep</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#ab9e460d26952e549372d0831fe9b0bb7">valid</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdsdDecimator.html#a82c8e2de70d95852c38690d13cc1fd04">errorMsg</a></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af6fb1f6ade14b44c019ba0effad7f3a6"></a><!-- doxytag: member="dsdDecimator::dsdDecimator" ref="af6fb1f6ade14b44c019ba0effad7f3a6" args="(dsdSampleReader *reader, dsf2flac_uint32 outputSampleRate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsdDecimator.html#af6fb1f6ade14b44c019ba0effad7f3a6">dsdDecimator::dsdDecimator</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classdsdSampleReader.html">dsdSampleReader</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>rate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="classdsdDecimator.html#af6fb1f6ade14b44c019ba0effad7f3a6">dsdDecimator::dsdDecimator(dsdSampleReader *r, dsf2flac_uint32 rate)</a></p>
<p>Constructor!</p>
<p>Pass in a <a class="el" href="classdsdSampleReader.html">dsdSampleReader</a> and the desired output sample rate. </p>

</div>
</div>
<a class="anchor" id="a4158638298e56d05c679ef649a0c25b8"></a><!-- doxytag: member="dsdDecimator::~dsdDecimator" ref="a4158638298e56d05c679ef649a0c25b8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsdDecimator.html#a4158638298e56d05c679ef649a0c25b8">dsdDecimator::~dsdDecimator</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p><a class="el" href="classdsdDecimator.html#a4158638298e56d05c679ef649a0c25b8">dsdDecimator::~dsdDecimator</a></p>
<p>Destructor! Free the lookuptable </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5f597a849651fe55efdbb09615565c26"></a><!-- doxytag: member="dsdDecimator::getDecimationRatio" ref="a5f597a849651fe55efdbb09615565c26" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a5f597a849651fe55efdbb09615565c26">dsdDecimator::getDecimationRatio</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a52cb037a250fe8a2604b0c5963c2a865"></a><!-- doxytag: member="dsdDecimator::getErrorMsg" ref="a52cb037a250fe8a2604b0c5963c2a865" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classdsdDecimator.html#a52cb037a250fe8a2604b0c5963c2a865">dsdDecimator::getErrorMsg</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>bool <a class="el" href="classdsdDecimator.html#a52cb037a250fe8a2604b0c5963c2a865">dsdDecimator::getErrorMsg()</a></p>
<p>Returns a message describing the last error which caused the reader to become invalid. </p>

</div>
</div>
<a class="anchor" id="a369be2420e994f1ec604c4050da2e348"></a><!-- doxytag: member="dsdDecimator::getFirstValidSample" ref="a369be2420e994f1ec604c4050da2e348" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> <a class="el" href="classdsdDecimator.html#a369be2420e994f1ec604c4050da2e348">dsdDecimator::getFirstValidSample</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afa3dafaaafc68f4fe4447e2ca78468da"></a><!-- doxytag: member="dsdDecimator::getLastValidSample" ref="afa3dafaaafc68f4fe4447e2ca78468da" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> <a class="el" href="classdsdDecimator.html#afa3dafaaafc68f4fe4447e2ca78468da">dsdDecimator::getLastValidSample</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5ef94ab8d0b208493fb70152b4f29a5e"></a><!-- doxytag: member="dsdDecimator::getLength" ref="a5ef94ab8d0b208493fb70152b4f29a5e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#afb5a83fbea5217eba40a40381a60bf9d">dsf2flac_int64</a> <a class="el" href="classdsdDecimator.html#a5ef94ab8d0b208493fb70152b4f29a5e">dsdDecimator::getLength</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>unsigned long long int dsdDecimator::dsdDecimator::getLength()</p>
<p>Return the data length in output samples </p>

</div>
</div>
<a class="anchor" id="a626cdd9643cb8c4da1a0ce033bfb52b5"></a><!-- doxytag: member="dsdDecimator::getNumChannels" ref="a626cdd9643cb8c4da1a0ce033bfb52b5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a626cdd9643cb8c4da1a0ce033bfb52b5">dsdDecimator::getNumChannels</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a07af1cb5e7dffc01d626a3fc318eaf54"></a><!-- doxytag: member="dsdDecimator::getOutputSampleRate" ref="a07af1cb5e7dffc01d626a3fc318eaf54" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a07af1cb5e7dffc01d626a3fc318eaf54">dsdDecimator::getOutputSampleRate</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>dsf2flac_uint32 <a class="el" href="classdsdDecimator.html#a07af1cb5e7dffc01d626a3fc318eaf54">dsdDecimator::getOutputSampleRate()</a></p>
<p>Return the output sample rate </p>

</div>
</div>
<a class="anchor" id="adc42aa7434a69d7b11e1693b1264e50c"></a><!-- doxytag: member="dsdDecimator::getPosition" ref="adc42aa7434a69d7b11e1693b1264e50c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> <a class="el" href="classdsdDecimator.html#adc42aa7434a69d7b11e1693b1264e50c">dsdDecimator::getPosition</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>unsigned long long int dsdDecimator::dsdDecimator::getPosition()</p>
<p>Return the current position in output samples </p>

</div>
</div>
<a class="anchor" id="adeaac3c942eee2a689f3666575604724"></a><!-- doxytag: member="dsdDecimator::getPositionAsPercent" ref="adeaac3c942eee2a689f3666575604724" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> <a class="el" href="classdsdDecimator.html#adeaac3c942eee2a689f3666575604724">dsdDecimator::getPositionAsPercent</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5d27b475960345a48ced37014506beac"></a><!-- doxytag: member="dsdDecimator::getPositionInSeconds" ref="a5d27b475960345a48ced37014506beac" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> <a class="el" href="classdsdDecimator.html#a5d27b475960345a48ced37014506beac">dsdDecimator::getPositionInSeconds</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a82d2961112e04637f0617cecb2349e4b"></a><!-- doxytag: member="dsdDecimator::getSamples" ref="a82d2961112e04637f0617cecb2349e4b" args="(sampleType *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename sampleType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">dsdDecimator::getSamples</a> </td>
          <td>(</td>
          <td class="paramtype">sampleType *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>bufferLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>tpdfDitherPeakAmplitude</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3c7b58e6074721099982a70dadee1199"></a><!-- doxytag: member="dsdDecimator::getSamples" ref="a3c7b58e6074721099982a70dadee1199" args="(short int *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">dsdDecimator::getSamples</a> </td>
          <td>(</td>
          <td class="paramtype">short int *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>bufferLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>tpdfDitherPeakAmplitude</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>template &lt;typename sampletype&gt;=""&gt; void <a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">getSamples(sampleType *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude)</a>;</p>
<p>Read pcm output samples in format sampleType into a buffer of length bufferLen. bufferLen must be a multiple of <a class="el" href="classdsdDecimator.html#a626cdd9643cb8c4da1a0ce033bfb52b5">getNumChannels()</a>. Channels are interleaved into the buffer.</p>
<p>You also need to provide a scaling factor. This is particularly important for int sample types. The raw dsd data has peak amplitude +-1.</p>
<p>If you wish to add TPDF dither to the data before quantization then please also provide the peak amplitude.</p>
<p>These sample types are supported:</p>
<p>short int int long int float dsf2flac_float64</p>
<p>Others should be very simple to add (just take a look at the templates below). </p>

</div>
</div>
<a class="anchor" id="a2f1fd9fef99fd6600a6acf8d2c27b821"></a><!-- doxytag: member="dsdDecimator::getSamples" ref="a2f1fd9fef99fd6600a6acf8d2c27b821" args="(int *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">dsdDecimator::getSamples</a> </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>bufferLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>tpdfDitherPeakAmplitude</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1f4887565afbd00951b086463b4b25cb"></a><!-- doxytag: member="dsdDecimator::getSamples" ref="a1f4887565afbd00951b086463b4b25cb" args="(long int *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">dsdDecimator::getSamples</a> </td>
          <td>(</td>
          <td class="paramtype">long int *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>bufferLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>tpdfDitherPeakAmplitude</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0f07c2186958dd9e7cc22e15c4585cef"></a><!-- doxytag: member="dsdDecimator::getSamples" ref="a0f07c2186958dd9e7cc22e15c4585cef" args="(float *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">dsdDecimator::getSamples</a> </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>bufferLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>tpdfDitherPeakAmplitude</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3886405e731cae513db2f5b7be7f7694"></a><!-- doxytag: member="dsdDecimator::getSamples" ref="a3886405e731cae513db2f5b7be7f7694" args="(double *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#a82d2961112e04637f0617cecb2349e4b">dsdDecimator::getSamples</a> </td>
          <td>(</td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>bufferLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>tpdfDitherPeakAmplitude</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aadf532a69765ee44c0f236684b8ea2b4"></a><!-- doxytag: member="dsdDecimator::getSamplesInternal" ref="aadf532a69765ee44c0f236684b8ea2b4" args="(sampleType *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude, bool roundToInt)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename sampleType &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#aadf532a69765ee44c0f236684b8ea2b4">dsdDecimator::getSamplesInternal</a> </td>
          <td>(</td>
          <td class="paramtype">sampleType *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a>&#160;</td>
          <td class="paramname"><em>bufferLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a>&#160;</td>
          <td class="paramname"><em>tpdfDitherPeakAmplitude</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>roundToInt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>template &lt;typename sampletype&gt;=""&gt; void <a class="el" href="classdsdDecimator.html#aadf532a69765ee44c0f236684b8ea2b4">dsdDecimator::getSamplesInternal(sampleType *buffer, dsf2flac_uint32 bufferLen, dsf2flac_float64 scale, dsf2flac_float64 tpdfDitherPeakAmplitude, bool roundToInt)</a></p>
<p>private method. Does the actual calculation for the getSamples method. Using the lookup tables FIR calculation is a pretty simple summing operation. </p>

</div>
</div>
<a class="anchor" id="a83a14ccc6618a2ae2efa828047a0419e"></a><!-- doxytag: member="dsdDecimator::initLookupTable" ref="a83a14ccc6618a2ae2efa828047a0419e" args="(const dsf2flac_int32 nCoefs, const dsf2flac_float64 *coefs, const dsf2flac_int32 tzero)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#a83a14ccc6618a2ae2efa828047a0419e">dsdDecimator::initLookupTable</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="dsf2flac__types_8h.html#af9870cc254fb4d78d48e1b851b6eceee">dsf2flac_int32</a>&#160;</td>
          <td class="paramname"><em>nCoefs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="dsf2flac__types_8h.html#aad8d9b1c27a6e9fbe39f194360bf0324">dsf2flac_float64</a> *&#160;</td>
          <td class="paramname"><em>coefs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="dsf2flac__types_8h.html#af9870cc254fb4d78d48e1b851b6eceee">dsf2flac_int32</a>&#160;</td>
          <td class="paramname"><em>tzero</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>void dsdDecimator::initLookupTable(const dsf2flac_float64 nCoefs,const dsf2flac_float64* coefs)</p>
<p>private method. Initialises the lookup table used for very fast filtering. </p>

</div>
</div>
<a class="anchor" id="ab54b0b5f709c42d2295209f0d76ca617"></a><!-- doxytag: member="dsdDecimator::isValid" ref="ab54b0b5f709c42d2295209f0d76ca617" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classdsdDecimator.html#ab54b0b5f709c42d2295209f0d76ca617">dsdDecimator::isValid</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>bool <a class="el" href="classdsdDecimator.html#ab54b0b5f709c42d2295209f0d76ca617">dsdDecimator::isValid()</a></p>
<p>Return false if the reader is invalid (format/file error for example). </p>

</div>
</div>
<a class="anchor" id="aca77161cb5bdde11130fceb81ee8f8ad"></a><!-- doxytag: member="dsdDecimator::step" ref="aca77161cb5bdde11130fceb81ee8f8ad" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdsdDecimator.html#aca77161cb5bdde11130fceb81ee8f8ad">dsdDecimator::step</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a82c8e2de70d95852c38690d13cc1fd04"></a><!-- doxytag: member="dsdDecimator::errorMsg" ref="a82c8e2de70d95852c38690d13cc1fd04" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string <a class="el" href="classdsdDecimator.html#a82c8e2de70d95852c38690d13cc1fd04">dsdDecimator::errorMsg</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af692ef8eb621e9b83fb3243f580e0d0c"></a><!-- doxytag: member="dsdDecimator::lookupTable" ref="af692ef8eb621e9b83fb3243f580e0d0c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsd__decimator_8h.html#ad5403a5111c18f5f42fadde6157a5728">calc_type</a>** <a class="el" href="classdsdDecimator.html#af692ef8eb621e9b83fb3243f580e0d0c">dsdDecimator::lookupTable</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9fc53268494d3c88da851db157538cdf"></a><!-- doxytag: member="dsdDecimator::nLookupTable" ref="a9fc53268494d3c88da851db157538cdf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a9fc53268494d3c88da851db157538cdf">dsdDecimator::nLookupTable</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a944a13197a30cec5ec50538642810f94"></a><!-- doxytag: member="dsdDecimator::nStep" ref="a944a13197a30cec5ec50538642810f94" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a944a13197a30cec5ec50538642810f94">dsdDecimator::nStep</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9f67b2c5d1cf1e24acd36416a34c80cb"></a><!-- doxytag: member="dsdDecimator::outputSampleRate" ref="a9f67b2c5d1cf1e24acd36416a34c80cb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a9f67b2c5d1cf1e24acd36416a34c80cb">dsdDecimator::outputSampleRate</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aed5e3ed7aeca8f5c4d74b8c5559d342e"></a><!-- doxytag: member="dsdDecimator::ratio" ref="aed5e3ed7aeca8f5c4d74b8c5559d342e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#aed5e3ed7aeca8f5c4d74b8c5559d342e">dsdDecimator::ratio</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ac9f25e6d1eb10de15a685b528f72f21e"></a><!-- doxytag: member="dsdDecimator::reader" ref="ac9f25e6d1eb10de15a685b528f72f21e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classdsdSampleReader.html">dsdSampleReader</a>* <a class="el" href="classdsdDecimator.html#ac9f25e6d1eb10de15a685b528f72f21e">dsdDecimator::reader</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a2f354e47adabe7220fc894a1a9f20cd5"></a><!-- doxytag: member="dsdDecimator::tzero" ref="a2f354e47adabe7220fc894a1a9f20cd5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="dsf2flac__types_8h.html#ae94ca55c71bf85f62e6d46ad0f70e00d">dsf2flac_uint32</a> <a class="el" href="classdsdDecimator.html#a2f354e47adabe7220fc894a1a9f20cd5">dsdDecimator::tzero</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab9e460d26952e549372d0831fe9b0bb7"></a><!-- doxytag: member="dsdDecimator::valid" ref="ab9e460d26952e549372d0831fe9b0bb7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classdsdDecimator.html#ab9e460d26952e549372d0831fe9b0bb7">dsdDecimator::valid</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="dsd__decimator_8h_source.html">dsd_decimator.h</a></li>
<li><a class="el" href="dsd__decimator_8cpp.html">dsd_decimator.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Fri Sep 13 2013 14:17:52 for DSF2FLAC by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
